package org.example.back.mapper.user;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.example.back.entity.user.UserSport;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

@Mapper
public interface UserSportMapper {

    // 插入运动记录
    void insertUserSport(UserSport userSport);

    // 查询某一天的运动记录
    List<UserSport> findUserSportByDate(@Param("userId") Integer userId, @Param("sportDate") LocalDate sportDate);

    // 查询最近7天（按天统计）
    List<Map<String, Object>> findUserSportLastWeek(@Param("userId") Integer userId);

    // 查询最近一个月（按周统计）
    List<Map<String, Object>> findUserSportByWeekInMonth(@Param("userId") Integer userId);

    // 删除一条运动记录，依据 userId 和 startTime 定位
    void deleteUserSportByUserIdAndStartTime(@Param("userId") Integer userId, @Param("startTime") LocalDateTime startTime);
}
